Criação de um arquivo keytab

Se você já criou um arquivo keytab para autenticação única, pode usar este arquivo para configurar a autenticação Kerberos no servidor proxy.

Você pode usar a mesma conta de usuário para a autenticação em todos os nodes de um cluster. Para isso, deve-se criar um arquivo keytab contendo o nome do diretor de serviço (SPN) para cada um destes nodes. Ao criar um arquivo keytab, você deve usar o atributo para gerar um salt (modificador de função hash).

O salt gerado deve ser salvo usando um método de sua escolha para adicionar posteriormente novos SPNs ao arquivo de keytab.

Também é possível criar uma conta de usuário do Active Directory separada para cada node do cluster para o qual deseja configurar a autenticação Kerberos.

O arquivo keytab é criado no servidor do controlador de domínio ou em um computador com Windows Server que faça parte do domínio, em uma conta de administrador de domínio.

Para criar um arquivo keytab usando uma conta de usuário única:

  1. No snap-in Active Directory Users and Computers, crie uma conta de usuário denominada, por exemplo, control-user.
  2. Para usar o algoritmo de criptografia AES256-SHA1, faça o seguinte no snap-in Active Directory Users and Computers:
    1. Abra as propriedades da conta criada.
    2. Na guia Account, marque a caixa de seleção This account supports Kerberos AES 256 bit encryption.
  3. Crie um arquivo keytab do usuário denominado control-user, usando o utilitário ktpass. Para fazer isso, execute o seguinte comando na linha de comando:

    C:\Windows\system32\ktpass.exe -princ HTTP/<nome completo do domínio qualificado (FQDN) do node de controle>@<nome do domínio do Active Directory do realm em letras maiúsculas> -mapuser control-user@<nome do domínio do Active Directory do realm em letras maiúsculas> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * + dumpsalt -out <caminho para arquivo>\<nome do arquivo>.keytab

    O utilitário solicitará a senha do control-user ao executar o comando.

    O SPN do node com função Controle será adicionado ao arquivo keytab criado. O salt gerado será mostrado: Hash da senha com salt “<valor do hash>”.

  4. Para cada node do cluster, adicione uma entrada SPN ao arquivo keytab. Para fazer isso, execute o seguinte comando:

    C:\Windows\system32\ktpass.exe -princ HTTP/<nome do domínio totalmente qualificado (FQDN) do node>@<nome do domínio do Active Directory em maiúsculas do realm> -mapuser control-user@<nome do domínio do Active Directory em maiúsculas do realm> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <caminho e nome do arquivo criado anteriormente>.keytab -out <caminho e novo nome>.keytab -setupn -setpass -rawsalt “<valor do hash do salt obtido ao criar o arquivo keytab na etapa 3>”

    O utilitário solicitará a senha do control-user ao executar o comando.

O arquivo keytab será criado. Esse arquivo conterá todos os SPNs adicionados dos nodes do cluster.

Exemplo:

Por exemplo, você precisa criar um arquivo keytab que contém SPNs de 3 nodes: control-01.test.local, secondary-01.test.local e secondary-02.test.local.

Para criar um arquivo denominado filename1.keytab, contendo o SPN do node de controle em C:\keytabs\ folder, você deve executar o seguinte comando:

C:\Windows\system32\ktpass.exe -princ HTTP/control-01.test.local@TEST.LOCAL -mapuser control-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * + dumpsalt -out C:\keytabs\filename1.keytab

Suponha que você tenha o salt "TEST.LOCALHTTPcontrol-01.test.local".

Para adicionar outro SPN, você deve executar o seguinte comando:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-01.test.local@TEST.LOCAL -mapuser control-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename1.keytab -out C:\keytabs\filename2.keytab -setupn -setpass -rawsalt "TEST.LOCALHTTPcontrol-01.test.local"

Para adicionar um terceiro SPN, você deve executar o seguinte comando:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-02.test.local@TEST.LOCAL -mapuser control-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename2.keytab -out C:\keytabs\filename3.keytab -setupn -setpass -rawsalt "TEST.LOCALHTTPcontrol-01.test.local"

Isso resultará na criação de um arquivo denominado filename3.keytab, contendo todos os três SPNs adicionados.

Para criar um arquivo keytab usando uma conta de usuário separada para cada node:

  1. Crie uma conta de usuário separada para cada node do cluster no snap-in Active Directory Users and Computers, (por exemplo, contas de usuários com os nomes control-user, secondary1-user, secondary2-user e assim por diante).
  2. Se quiser usar o algoritmo de criptografia AES256-SHA1, faça o seguinte no snap-in Active Directory Users and Computers:
    1. Abra as propriedades da conta criada.
    2. Na guia Account, marque a caixa de seleção This account supports Kerberos AES 256 bit encryption.
  3. Crie um arquivo keytab do usuário denominado control-user, usando o utilitário ktpass. Para fazer isso, execute o seguinte comando na linha de comando:

    C:\Windows\system32\ktpass.exe -princ HTTP/<nome completo do domínio qualificado (FQDN) do node de controle>@<nome do domínio do Active Directory do realm em letras maiúsculas> -mapuser control-user@<nome do domínio do Active Directory do realm em letras maiúsculas> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out <caminho para arquivo>\<nome do arquivo>.keytab

    O utilitário solicitará a senha do control-user ao executar o comando.

    O SPN do node com função Controle será adicionado ao arquivo keytab criado.

  4. Para cada node do cluster, adicione uma entrada SPN ao arquivo keytab. Para fazer isso, execute o seguinte comando:

    C:\Windows\system32\ktpass.exe -princ HTTP/<nome do domínio totalmente qualificado (FQDN) do node>@<nome do domínio do Active Directory em maiúsculas do realm> -mapuser secondary1-user@<nome do domínio do Active Directory em maiúsculas do realm> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <caminho e nome do arquivo criado anteriormente>.keytab -out <caminho e novo nome>.keytab

    O utilitário solicitará a senha do secondary1-user ao executar o comando.

O arquivo keytab será criado. Esse arquivo conterá todos os SPNs adicionados dos nodes do cluster.

Exemplo:

Por exemplo, você precisa criar um arquivo keytab que contém SPNs de 3 nodes: control-01.test.local, secondary-01.test.local e secondary-02.test.local.

Para criar um arquivo denominado filename1.keytab, contendo o SPN do node de controle em C:\keytabs\ folder, você deve executar o seguinte comando:

C:\Windows\system32\ktpass.exe -princ HTTP/control-01.test.local@TEST.LOCAL -mapuser control-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out C:\keytabs\filename1.keytab

Para adicionar outro SPN, você deve executar o seguinte comando:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-01.test.local@TEST.LOCAL -mapuser secondary1-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename1.keytab -out C:\keytabs\filename2.keytab

Para adicionar um terceiro SPN, você deve executar o seguinte comando:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-02.test.local@TEST.LOCAL -mapuser secondary2-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename2.keytab -out C:\keytabs\filename3.keytab

Isso resultará na criação de um arquivo denominado filename3.keytab, contendo todos os três SPNs adicionados.

Topo da página